home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1996 #15
/
Monster Media Number 15 (Monster Media)(July 1996).ISO
/
pcboard
/
sarea021.zip
/
SICKAREA.PPE
(
.txt
)
< prev
Wrap
PCBoard Programming Language Executable
|
1996-04-06
|
5KB
|
408 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.1O (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
Integer INTEGER015
Integer INTEGER016
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String TSTRING007(800)
String TSTRING008(800)
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
;------------------------------------------------------------------------------
If (TokCount() > 0) Then
GetToken STRING009
Dir STRING009
End
Endif
Print "@X07@POFF@@CLS@"
FOpen 1, PPEPath() + "SICKAREA.CFG", 2, 0
FGet 1, STRING003
FGet 1, STRING004
FGet 1, STRING005
FGet 1, STRING012
FGet 1, STRING013
FGet 1, STRING009
FGet 1, INTEGER012
FGet 1, INTEGER008
FGet 1, INTEGER009
FGet 1, INTEGER004
FGet 1, INTEGER006
FGet 1, INTEGER005
FGet 1, STRING014
FGet 1, STRING015
FGet 1, INTEGER013
FGet 1, INTEGER015
FGet 1, INTEGER014
FGet 1, INTEGER016
FClose 1
INTEGER010 = 0
STRING011 = ""
INTEGER002 = 37
INTEGER011 = 0
BOOLEAN001 = 0
STRING001 = ReadLine(PCBDat(), 31)
STRING006 = "CNAMES file not found. You got not conferences??"
If (Exist(STRING001)) Then
STRING002 = ReadLine(STRING001, (CurConf() + 1) * 33 - 2)
STRING006 = "Couldnt find a directory listing for conference #@X0F" + String(CurConf()) + "@X04."
If (Exist(STRING002)) Then
STRING006 = ""
FOpen 1, STRING002, 2, 0
TSTRING007(0) = "Newest Uploads "
TSTRING008(0) = "U"
TSTRING007(1) = ""
FSeek 1, 60, 1
FRead 1, TSTRING007(1), 35
TSTRING008(1) = "1"
INTEGER001 = 1
INTEGER003 = 1
:LABEL001
If (Ferr(1)) Goto LABEL002
Inc INTEGER001
Inc INTEGER003
TSTRING007(INTEGER001) = ""
TSTRING008(INTEGER001) = ""
FSeek 1, 61, 1
FRead 1, TSTRING007(INTEGER001), 35
TSTRING008(INTEGER001) = String(INTEGER003)
If (Strip(TSTRING007(INTEGER001), " ") == "") Dec INTEGER001
Goto LABEL001
:LABEL002
FClose 1
TSTRING007(INTEGER001) = ""
TSTRING008(INTEGER001) = ""
TSTRING008(INTEGER001 + 1) = ""
INTEGER007 = INTEGER001 - 1
If (Exist(PPEPath() + "S-TOP.PCB")) DispFile PPEPath() + "S-TOP.PCB", 0
If (INTEGER009 == 0) INTEGER009 = GetY() + 1
Gosub LABEL017
FreshLine
If (Exist(PPEPath() + "S-BOT.PCB")) DispFile PPEPath() + "S-BOT.PCB", 0
Gosub LABEL015
:LABEL003
STRING010 = Upper(Inkey())
If (STRING010 == "") Goto LABEL003
If ((STRING010 == "UP") || (STRING010 == "W")) Then
Gosub LABEL020
If (INTEGER010 - 1 < 0) Then
If (INTEGER010 + INTEGER011 - 1 >= 0) Then
If (BOOLEAN001 == 1) Then
Gosub LABEL014
BOOLEAN001 = 0
INTEGER011 = INTEGER011 - INTEGER012
INTEGER010 = INTEGER012 - 1
Gosub LABEL015
Goto LABEL004
Endif
BOOLEAN001 = 0
INTEGER011 = INTEGER011 - INTEGER012
INTEGER010 = INTEGER012 - 1
Gosub LABEL017
Gosub LABEL015
Endif
:LABEL004
Goto LABEL005
Endif
If (Strip(TSTRING007(INTEGER010 + INTEGER011 - 1), " ") <> "") Then
Gosub LABEL014
Dec INTEGER010
Gosub LABEL015
Endif
:LABEL005
Goto LABEL013
Endif
If ((STRING010 == "DOWN") || (STRING010 == "Z")) Then
Gosub LABEL020
If (INTEGER010 + 2 > INTEGER012) Then
If (INTEGER007 >= INTEGER011 + INTEGER012) Then
If (BOOLEAN001 == 0) Then
Gosub LABEL014
BOOLEAN001 = 1
INTEGER011 = INTEGER011 + INTEGER012
INTEGER010 = 0
Gosub LABEL015
Goto LABEL006
Endif
BOOLEAN001 = 0
INTEGER011 = INTEGER011 + INTEGER012
INTEGER010 = 0
Gosub LABEL017
Gosub LABEL015
Endif
:LABEL006
Goto LABEL007
Endif
If (Strip(TSTRING007(INTEGER010 + INTEGER011 + 1), " ") <> "") Then
Gosub LABEL014
Inc INTEGER010
Gosub LABEL015
Endif
:LABEL007
Goto LABEL013
Endif
If ((STRING010 == "LEFT") || (STRING010 == "A")) Then
Gosub LABEL020
If (INTEGER011 - INTEGER012 >= 0) Then
If (BOOLEAN001 == 1) Then
Gosub LABEL014
BOOLEAN001 = 0
INTEGER011 = INTEGER011 - INTEGER012
Gosub LABEL015
Goto LABEL008
Endif
INTEGER011 = INTEGER011 - INTEGER012
BOOLEAN001 = 0
Gosub LABEL017
Gosub LABEL015
:LABEL008
Goto LABEL009
Endif
Beep
:LABEL009
Goto LABEL013
Endif
If ((STRING010 == "RIGHT") || (STRING010 == "S")) Then
Gosub LABEL020
If (INTEGER007 >= INTEGER011 + INTEGER012) Then
If (BOOLEAN001 == 0) Then
Gosub LABEL014
BOOLEAN001 = 1
INTEGER011 = INTEGER011 + INTEGER012
Gosub LABEL015
Goto LABEL010
Endif
BOOLEAN001 = 0
INTEGER011 = INTEGER011 + INTEGER012
Gosub LABEL017
Gosub LABEL015
:LABEL010
Goto LABEL011
Endif
Beep
:LABEL011
Goto LABEL013
Endif
If (((STRING010 >= "0") && (STRING010 <= "9")) || (STRING010 == "U")) Then
Print STRING012
If (GetX() + Len(STRING010) <= INTEGER004 + INTEGER005) Then
Print STRING010
STRING011 = STRING011 + STRING010
Endif
Goto LABEL013
Endif
If (STRING010 == Chr(8)) Then
If (GetX() - 1 >= INTEGER004) Print Chr(8) + STRING013 + Chr(8)
STRING011 = Mid(STRING011, 1, GetX() - INTEGER004)
Goto LABEL013
Endif
If (STRING010 == Chr(13)) Then
Print "@X07@PON@@CLS@"
If (STRING011 <> "") Then
Dir STRING011
Goto LABEL012
Endif
If (INTEGER010 + INTEGER011 == 0) Then
Dir "U"
Goto LABEL012
Endif
Dir String(TSTRING008(INTEGER010 + INTEGER011))
:LABEL012
Goto LABEL021
Goto LABEL013
Endif
If (STRING010 == Chr(27)) Then
DefColor
Cls
Goto LABEL021
Endif
:LABEL013
Goto LABEL003
:LABEL014
AnsiPos INTEGER008, INTEGER009 + INTEGER010
If (BOOLEAN001) Forward INTEGER002
Print STRING004 + " " + Left(TSTRING007(INTEGER010 + INTEGER011), 30) + "@X07"
Return
:LABEL015
If (Strip(TSTRING007(INTEGER010 + INTEGER011), " ") == "") INTEGER010 = INTEGER007 - INTEGER011
AnsiPos INTEGER008, INTEGER009 + INTEGER010
If (BOOLEAN001) Forward INTEGER002
If (Upper(Left(STRING009, 1)) == "Y") Then
Print STRING003 + " " + Upper(Left(TSTRING007(INTEGER010 + INTEGER011), 30)) + "@X07"
Goto LABEL016
Endif
Print STRING003 + " " + Left(TSTRING007(INTEGER010 + INTEGER011), 30) + "@X07"
:LABEL016
AnsiPos INTEGER004 + Len(STRING011), INTEGER006
Return
:LABEL017
For INTEGER001 = INTEGER011 To INTEGER011 + INTEGER012 - 1
AnsiPos INTEGER008 - 3, INTEGER009 + INTEGER001 - INTEGER011
Print STRING005 + Right(TSTRING008(INTEGER001), 2) + " " + STRING004 + " " + Left(TSTRING007(INTEGER001), 30) + "@X07"
Next
For INTEGER001 = INTEGER011 + INTEGER012 To INTEGER011 + INTEGER012 * 2 - 1
AnsiPos INTEGER008 + INTEGER002 - 3, INTEGER009 + INTEGER001 - INTEGER011 - INTEGER012
Print STRING005 + Right(TSTRING008(INTEGER001), 2) + " " + STRING004 + " " + Left(TSTRING007(INTEGER001), 30) + "@X07"
Next
AnsiPos INTEGER013, INTEGER015
If (INTEGER011 > 1) Then
Print STRING014
Goto LABEL018
Endif
Print Space(Len(StripAtx(STRING014)))
:LABEL018
AnsiPos INTEGER014, INTEGER016
If (INTEGER011 + INTEGER012 * 2 - 1 < INTEGER007) Then
Print STRING015
Goto LABEL019
Endif
Print Space(Len(StripAtx(STRING015)))
:LABEL019
Return
:LABEL020
AnsiPos INTEGER004, INTEGER006
For INTEGER001 = 1 To Len(STRING011)
Print STRING013
Next
Backup Len(STRING011)
STRING011 = ""
Return
Endif
Endif
:LABEL021
Print "@X07"
Cls
If (STRING006 <> "") Print "@X0CAn Error Occurred : @X04" + STRING006
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 2 Cls
; 61 Goto
; 55 Let
; 17 Print
; 43 If
; 2 DispFile
; 2 FOpen
; 2 FClose
; 18 FGet
; 1 DefColor
; 26 Gosub
; 4 Return
; 3 Inc
; 2 Dec
; 1 GetToken
; 2 Beep
; 4 Dir
; 8 AnsiPos
; 1 Backup
; 2 Forward
; 1 FreshLine
; 2 FSeek
; 2 FRead
;
;
; ■ Functions used :
;
; 4 *
; 69 +
; 25 -
; 22 ==
; 4 <>
; 5 <
; 5 <=
; 3 >
; 12 >=
; 33 !
; 7 &&
; 8 ||
; 7 Len(
; 3 Upper()
; 1 Mid()
; 6 Left()
; 2 Right()
; 2 Space()
; 1 Ferr()
; 5 Chr()
; 2 StripAtx()
; 4 Strip()
; 1 Inkey()
; 3 String()
; 2 CurConf()
; 1 PCBDat()
; 5 PPEPath()
; 2 ReadLine()
; 4 Exist()
; 3 GetX()
; 1 GetY()
; 1 TokCount()
;
;------------------------------------------------------------------------------
;
; Analysis flags : d
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 3 For/Next
; 0 While/EndWhile
; 29 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------